package lambdademo;

import java.util.Comparator;
import java.util.PriorityQueue;

@FunctionalInterface    //函数式接口，只有一个方法
interface Test1 {
    void test();
}

@FunctionalInterface
interface Test2 {
    int test(String str);
}

public class Test {
    public static void main(String[] args) {
        //利用匿名内部类构建大根堆
        PriorityQueue<Integer> pq1 = new PriorityQueue<>(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2-o1;
            }
        });


        PriorityQueue<Integer> pq2 = new PriorityQueue<>((o1,o2) -> o2-02);  //用lambda构建大根堆


        //将函数式接口用lambda表示
        Test1 test1 = () -> System.out.println("xixi");
        test1.test();

        Test2 test2 = (o) -> o.length();
        System.out.println(test2.test("lalala"));
    }
}
